// import com.alibaba.druid.sql.ast.SQLExpr_ptr;
// import com.alibaba.druid.sql.ast.expr.SQLIntegerExpr;
// import com.alibaba.druid.sql.dialect.sqlserver.visitor.SQLServerASTVisitor;
#pragma once
#include "SQLServerObjectImpl.h"

class SQLServerTop : public SQLServerObjectImpl
{
public:
  SQLExpr_ptr expr;
  BOOL_ptr percent;
  BOOL_ptr withTies;

  SQLServerTop();

  SQLServerTop(SQLExpr_ptr expr);
  SHAREDOBJECT(SQLServerTop);

  SQLExpr_ptr getExpr();

  void setExpr(SQLExpr_ptr expr);

  void setExpr(int expr);

  BOOL_ptr isPercent();

  void setPercent(BOOL_ptr percent);

  BOOL_ptr isWithTies();

  void setWithTies(BOOL_ptr withTies);

  // @Override
  void accept0(SQLServerASTVisitor_ptr visitor) override;

  SQLObject_ptr clone();
};
